package com.vcaresolution.logistic.util;

import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.vcaresolution.logistic.to.CodetableTO;

/**
 * The <code>ApplicationConstants</code> class contains all Constants in <b>ShipSoft</b> application.
 *
 * @author Snehal Shah
 * @version 1.0
 * @since ShipSoft 1.0
 */
public final class ApplicationConstants {

	private ApplicationConstants(){
	}

	/* All Common Constants should go here */
	public static final String SECTORS_MODELATTRIBUTE = "sectorMasterList";
	public static final String COUNTRYS_MODELATTRIBUTE = "countryMasterList";
	public static final String STATES_MODELATTRIBUTE = "stateMasterList";
	public static final String CITYS_MODELATTRIBUTE = "cityMasterList";
	public static final String SECURITY_QUESTIONS_MODELATTRIBUTE = "securityQuestionMasterList";

	public static final SimpleDateFormat  DEFAULT_TIME_STAMP_FORMAT =  new SimpleDateFormat("HH:mm aa");
	
	//Messages Name - Start
	/**
	 * This Constant is to show success message in UI
	 */
	public static final String SUCCESS_MESSAGE = "successMessage";
	//Messages Name - End
		
	/* All View/JSP should be configure here. In all controller it should refer from here only */
	public static final String URL_SEPERATOR = "/";
	
	public static final String HOME_VIEW = "Home";
	public static final String HOME_URL = URL_SEPERATOR + HOME_VIEW;
	
	public static final String LOGIN_VIEW = "Login";
	public static final String LOGIN_URL = URL_SEPERATOR + LOGIN_VIEW;
	public static final String LOGINFORM_MODELATTRIBUTE = "loginForm";

	public static final String LOGOUT_VIEW = "Logout";
	public static final String LOGOUT_URL = URL_SEPERATOR + LOGOUT_VIEW;
	
	/* Company Form Related Constants -- Start */
	public static final String COMPANYCITYLIST_MODELATTRIBUTE = "cityList";
	
	public static final String COMPANYFORM_MODELATTRIBUTE = "companyForm";
	public static final String COMPANYLIST_MODELATTRIBUTE = "companyList";
	
	public static final String ADD_COMPANY_VIEW = "AddCompany";
	public static final String ADD_COMPANY_URL = URL_SEPERATOR + ADD_COMPANY_VIEW;
	
	public static final String EDIT_COMPANY_VIEW = "EditCompany";
	public static final String EDIT_COMPANY_URL = URL_SEPERATOR + EDIT_COMPANY_VIEW;
	
	public static final String LIST_COMPANY_VIEW = "ListCompany";
	public static final String LIST_COMPANY_URL = URL_SEPERATOR + LIST_COMPANY_VIEW;
	/* Company Form Related Constants -- END   */
	
	/* Sector Form Related Constants -- Start */
	public static final String SECTORFORM_MODELATTRIBUTE = "sectorForm";
	public static final String SECTORLIST_MODELATTRIBUTE = "sectorList";
	
	public static final String ADD_SECTOR_VIEW = "AddSector";
	public static final String ADD_SECTOR_URL = URL_SEPERATOR + ADD_SECTOR_VIEW;
	
	public static final String EDIT_SECTOR_VIEW = "EditSector";
	public static final String EDIT_SECTOR_URL = URL_SEPERATOR + EDIT_SECTOR_VIEW;
	
	public static final String LIST_SECTOR_VIEW = "ListSector";
	public static final String LIST_SECTOR_URL = URL_SEPERATOR + LIST_SECTOR_VIEW;
	/* Sector Form Related Constants -- END   */
	
	/* Securityquestion Form Related Constants -- Start */
	public static final String SECURITYQUESTIONFORM_MODELATTRIBUTE = "securityquestionForm";
	public static final String SECURITYQUESTIONLIST_MODELATTRIBUTE = "securityquestionList";
	
	public static final String ADD_SECURITYQUESTION_VIEW = "AddSecurityquestion";
	public static final String ADD_SECURITYQUESTION_URL = URL_SEPERATOR + ADD_SECURITYQUESTION_VIEW;
	
	public static final String EDIT_SECURITYQUESTION_VIEW = "EditSecurityquestion";
	public static final String EDIT_SECURITYQUESTION_URL = URL_SEPERATOR + EDIT_SECURITYQUESTION_VIEW;
	
	public static final String LIST_SECURITYQUESTION_VIEW = "ListSecurityquestion";
	public static final String LIST_SECURITYQUESTION_URL = URL_SEPERATOR + LIST_SECURITYQUESTION_VIEW;
	/* Securityquestion Form Related Constants -- END   */
	
	/* Vessel Form Related Constants -- Start */
	public static final String VESSELFORM_MODELATTRIBUTE = "vesselForm";
	public static final String VESSELLIST_MODELATTRIBUTE = "vesselList";
	
	public static final String ADD_VESSEL_VIEW = "AddVessel";
	public static final String ADD_VESSEL_URL = URL_SEPERATOR + ADD_VESSEL_VIEW;
	
	public static final String EDIT_VESSEL_VIEW = "EditVessel";
	public static final String EDIT_VESSEL_URL = URL_SEPERATOR + EDIT_VESSEL_VIEW;
	
	public static final String LIST_VESSEL_VIEW = "ListVessel";
	public static final String LIST_VESSEL_URL = URL_SEPERATOR + LIST_VESSEL_VIEW;
	/* Vessel Form Related Constants -- END   */
	
	/* Port Form Related Constants -- Start */
	public static final String PORTFORM_MODELATTRIBUTE = "portForm";
	public static final String PORTLIST_MODELATTRIBUTE = "portList";
	
	public static final String ADD_PORT_VIEW = "AddPort";
	public static final String ADD_PORT_URL = URL_SEPERATOR + ADD_PORT_VIEW;
	
	public static final String EDIT_PORT_VIEW = "EditPort";
	public static final String EDIT_PORT_URL = URL_SEPERATOR + EDIT_PORT_VIEW;
	
	public static final String LIST_PORT_VIEW = "ListPort";
	public static final String LIST_PORT_URL = URL_SEPERATOR + LIST_PORT_VIEW;
	/* Port Form Related Constants -- END   */
	
	/* User Form Related Constants -- Start */
	public static final String USERFORM_MODELATTRIBUTE = "userForm";
	public static final String USERLIST_MODELATTRIBUTE = "userList";
	
	public static final String ADD_USER_VIEW = "AddUser";
	public static final String ADD_USER_URL = URL_SEPERATOR + ADD_USER_VIEW;
	
	public static final String EDIT_USER_VIEW = "EditUser";
	public static final String EDIT_USER_URL = URL_SEPERATOR + EDIT_USER_VIEW;
	
	public static final String LIST_USER_VIEW = "ListUser";
	public static final String LIST_USER_URL = URL_SEPERATOR + LIST_USER_VIEW;
	/* User Form Related Constants -- END   */
	
	/* UserGroup Form Related Constants -- Start */
	public static final String USERGROUPLIST_MODELATTRIBUTE = "userGroupList";
	/* UserGroup Form Related Constants -- End */
	
	/* Job Register Form Related Constants -- Start */
	public static final String JOBREGISTERFORM_MODELATTRIBUTE = "jobregisterForm";
	public static final String JOBREGISTERLIST_MODELATTRIBUTE = "jobregisterList";
	
	public static final String ADD_JOBREGISTER_VIEW = "AddJobRegister";
	public static final String ADD_JOBREGISTER_URL = URL_SEPERATOR + ADD_JOBREGISTER_VIEW;
	
	public static final String EDIT_JOBREGISTER_VIEW = "EditJobRegister";
	public static final String EDIT_JOBREGISTER_URL = URL_SEPERATOR + EDIT_JOBREGISTER_VIEW;
	
	public static final String LIST_JOBREGISTER_VIEW = "ListJobRegister";
	public static final String LIST_JOBREGISTER_URL = URL_SEPERATOR + LIST_JOBREGISTER_VIEW;
	
	public static final String JOB_AUTOCOMPLETE_URL = URL_SEPERATOR + "JobAutoComplete";
	
	public static final String ADD_ADDITIONAL_REQ_VIEW = "AddAdditionalRequirement";
	public static final String ADD_ADDITIONAL_REQ_URL = URL_SEPERATOR + ADD_ADDITIONAL_REQ_VIEW;
	
	/* Job Register Form Related Constants -- END   */
	
	/* Shippingbill Form Related Constants -- Start */
	public static final String SHIPPINGBILLFORM_MODELATTRIBUTE = "shippingbillForm";
	public static final String SHIPPINGBILLLIST_MODELATTRIBUTE = "shippingBillList";
	
	public static final String ADD_SHIPPINGBILL_VIEW = "AddShippingBill";
	public static final String ADD_SHIPPINGBILL_URL = URL_SEPERATOR + ADD_SHIPPINGBILL_VIEW;
	
	public static final String ADD_SHIPPINGBILL_DIRECT_VIEW = "AddShippingbill";
	public static final String ADD_SHIPPINGBILL_DIRECT_URL = URL_SEPERATOR + ADD_SHIPPINGBILL_DIRECT_VIEW;
	
	public static final String EDIT_SHIPPINGBILL_VIEW = "EditShippingBill";
	public static final String EDIT_SHIPPINGBILL_URL = URL_SEPERATOR + EDIT_SHIPPINGBILL_VIEW;
	
	public static final String LIST_SHIPPINGBILL_VIEW = "ListShippingBill";
	public static final String LIST_SHIPPINGBILL_URL = URL_SEPERATOR + LIST_SHIPPINGBILL_VIEW;
	
	public static final String LIST_SHIPPINGBILL_CONTAINER_MAPPING = URL_SEPERATOR + "ShippingbillContainerList";
	
	public static final String SHIPPINGBILL_AUTOCOMPLETE_URL = URL_SEPERATOR + "ShippingbilLAutoComplete";
	/* Shippingbill Form Related Constants -- END   */
	
	/* Billoflading Form Related Constants -- Start */
	public static final String BILLOFLADINGFORM_MODELATTRIBUTE = "billofLadingForm";
	public static final String BILLOFLADINGLIST_MODELATTRIBUTE = "billofLadingList";
	
	public static final String ADD_BILLOFLADING_VIEW = "AddBilloflading";
	public static final String ADD_BILLOFLADING_URL = URL_SEPERATOR + ADD_BILLOFLADING_VIEW;
	
	public static final String EDIT_BILLOFLADING_VIEW = "EditBilloflading";
	public static final String EDIT_BILLOFLADING_URL = URL_SEPERATOR + EDIT_BILLOFLADING_VIEW;
	
	public static final String LIST_BILLOFLADING_VIEW = "ListBilloflading";
	public static final String LIST_BILLOFLADING_URL = URL_SEPERATOR + LIST_BILLOFLADING_VIEW;
	/* Shippingbill Form Related Constants -- END   */
	
	/* FCL Date Manager Form Related Constants -- Start */
	public static final String DATEMANAGERFORM_MODELATTRIBUTE = "dateManagerForm";
	public static final String DATEMANAGERLIST_MODELATTRIBUTE = "dateManagerList";
	
	public static final String ADD_FCLDATEMANAGER_VIEW = "AddFCLDatemanager";
	public static final String ADD_FCLDATEMANAGER_URL = URL_SEPERATOR + ADD_FCLDATEMANAGER_VIEW;
	
	public static final String ADD_LCLDATEMANAGER_VIEW = "AddLCLDatemanager";
	public static final String ADD_LCLDATEMANAGER_URL = URL_SEPERATOR + ADD_LCLDATEMANAGER_VIEW;
	
	public static final String EDIT_FCLDATEMANAGER_VIEW = "EditFCLDatemanager";
	public static final String EDIT_FCLDATEMANAGER_URL = URL_SEPERATOR + EDIT_FCLDATEMANAGER_VIEW;
	
	public static final String EDIT_LCLDATEMANAGER_VIEW = "EditLCLDatemanager";
	public static final String EDIT_LCLDATEMANAGER_URL = URL_SEPERATOR + EDIT_LCLDATEMANAGER_VIEW;
	
	public static final String LIST_FCLDATEMANAGER_VIEW = "ListFCLDatemanager";
	public static final String LIST_FCLDATEMANAGER_URL = URL_SEPERATOR + LIST_FCLDATEMANAGER_VIEW;
	
	public static final String LIST_LCLDATEMANAGER_VIEW = "ListLCLDatemanager";
	public static final String LIST_LCLDATEMANAGER_URL = URL_SEPERATOR + LIST_LCLDATEMANAGER_VIEW;
	/* FCL LCL Date Manager Form Related Constants -- END   */
		
	/* Contact Form Related Constants -- Start */
	public static final String CONTACTFORM_MODELATTRIBUTE = "contactForm";
	public static final String CONTACTLIST_MODELATTRIBUTE = "contactList";
	
	public static final String ADD_CONTACT_VIEW = "AddContact";
	public static final String ADD_CONTACT_URL = URL_SEPERATOR + ADD_CONTACT_VIEW;
	
	public static final String EDIT_CONTACT_VIEW = "EditContact";
	public static final String EDIT_CONTACT_URL = URL_SEPERATOR + EDIT_CONTACT_VIEW;
	
	public static final String LIST_CONTACT_VIEW = "ListContact";
	public static final String LIST_CONTACT_URL = URL_SEPERATOR + LIST_CONTACT_VIEW;
	/* Contact Form Related Constants -- END   */
	
	/* Contact Address Form Related Constants -- Start */
	public static final String CONTACTADDRESSFORM_MODELATTRIBUTE = "contactAddressForm";
	public static final String CONTACTADDTRSSLIST_MODELATTRIBUTE = "contactaddressList";
	
	public static final String ADD_CONTACTADDRESS_VIEW = "AddContactAddress";
	public static final String ADD_CONTACTADDRESS_URL = URL_SEPERATOR + ADD_CONTACTADDRESS_VIEW;
	
	public static final String EDIT_CONTACTADDRESS_VIEW = "EditContactAddress";
	public static final String EDIT_CONTACTADDRESS_URL = URL_SEPERATOR + EDIT_CONTACTADDRESS_VIEW;
	
	public static final String LIST_CONTACTADDRESS_VIEW = "ListContactAddress";
	public static final String LIST_CONTACTADDRESS_URL = URL_SEPERATOR + LIST_CONTACTADDRESS_VIEW;
	/* Contact Address Form Related Constants -- END   */
	
	/* Packages Carting Form Related Constants -- Start */
	public static final String PKGCARTINGFORM_MODELATTRIBUTE = "pkgcartingForm";
	public static final String PKGCARTINGLIST_MODELATTRIBUTE = "pkgcartingList";
	
	public static final String ADD_PKGCARTING_VIEW = "AddPkgcarting";
	public static final String ADD_PKGCARTING_URL = URL_SEPERATOR + ADD_PKGCARTING_VIEW;
	
	public static final String EDIT_PKGCARTING_VIEW = "EditPkgcarting";
	public static final String EDIT_PKGCARTING_URL = URL_SEPERATOR + EDIT_PKGCARTING_VIEW;
	
	public static final String LIST_PKGCARTING_VIEW = "ListPkgcarting";
	public static final String LIST_PKGCARTING_URL = URL_SEPERATOR + LIST_PKGCARTING_VIEW;
	/* Packages Carting Form Related Constants -- END   */
	
	/* Voyage Form Related Constants -- Start */
	public static final String VOYAGEFORM_MODELATTRIBUTE = "voyageForm";
	public static final String VOYAGELIST_MODELATTRIBUTE = "voyageList";
	
	public static final String ADD_VOYAGE_VIEW = "AddVoyage";
	public static final String ADD_VOYAGE_URL = URL_SEPERATOR + ADD_VOYAGE_VIEW;
	
	public static final String EDIT_VOYAGE_VIEW = "EditVoyage";
	public static final String EDIT_VOYAGE_URL = URL_SEPERATOR + EDIT_VOYAGE_VIEW;
	
	public static final String LIST_VOYAGE_VIEW = "ListVoyage";
	public static final String LIST_VOYAGE_URL = URL_SEPERATOR + LIST_VOYAGE_VIEW;
	
	public static final String GET_VOYAGE_VIEW = "GetVoyage";
	public static final String GET_VOYAGE_URL = URL_SEPERATOR + GET_VOYAGE_VIEW;
	/* Voyage Form Related Constants -- End */
	
	/* List Form Related Constants -- Start */
	/* Modelist Form Related Constants -- Start */
	public static final String MODELIST_MODELATTRIBUTE = "modeList";
	/* Category List Form Related Constants -- Start */
	public static final String CATEGORYLIST_MODELATTRIBUTE = "categoryList";
	/* Cargotype List Form Related Constants -- Start */
	public static final String CARGOTYPELIST_MODELATTRIBUTE = "cargotypeList";
	/* Stuffby List Form Related Constants -- Start */
	public static final String STUFFBYLIST_MODELATTRIBUTE = "stuffbyList";
	/* ClearanceAt List Form Related Constants -- Start */
	public static final String CLEARANCEATLIST_MODELATTRIBUTE = "clearanceatList";
	/* Additional Requirements List Form Related Constants -- Start */
	public static final String ADDITIONALREQUIREMENTSLIST_MODELATTRIBUTE = "additionalrequirementsList";
	/* HAZ Class List Form Related Constants -- Start */
	public static final String HAZCLASSLIST_MODELATTRIBUTE = "hazclassList";
	/* HAZ PackingGroup List Form Related Constants -- Start */
	public static final String HAZPKGGROUPLIST_MODELATTRIBUTE = "hazpkggroupList";
	/* Pkgs Type List Form Related Constants -- Start */
	public static final String PKGSTYPELIST_MODELATTRIBUTE = "pkgstypeList";
	/* INCO Term List Form Related Constants -- Start */
	public static final String INCOTERMSLIST_MODELATTRIBUTE = "incotermsList";
	/* Currency List Form Related Constants -- Start */
	public static final String CURRENCYLIST_MODELATTRIBUTE = "currencyList";
	/* Weight Type List Form Related Constants -- Start */
	public static final String WEIGHTTYPELIST_MODELATTRIBUTE = "weighttypeList";
	/* Container Size List Form Related Constants -- Start */
	public static final String CONTAINERSIZELIST_MODELATTRIBUTE = "containersizeList";
	/* Direct/HUB List Form Related Constants -- Start */
	public static final String DIRECTHUBLIST_MODELATTRIBUTE = "directhubList";
	/* Doc Type List Form Related Constants -- Start */
	public static final String DOCTYPELIST_MODELATTRIBUTE = "doctypeList";	
	/* Freight Status List Form Related Constants -- Start */
	public static final String FREIGHTSTATUSLIST_MODELATTRIBUTE = "freightstatusList";	
	/* No of Bl List Form Related Constants -- Start */
	public static final String NOOFBLLIST_MODELATTRIBUTE = "noofblList";
	
	/* No of Bl List Form Related Constants -- Start */
	public static final String PACKAGESTYPELIST_MODELATTRIBUTE = "packagestypeList";
	
	/* List Form Related Constants -- End */
	
	/* Branch Form Related Constants -- Start */
	public static final String BRANCHCITYLIST_MODELATTRIBUTE = "cityList";
	
	public static final String BRANCHFORM_MODELATTRIBUTE = "branchForm";
	public static final String BRANCHLIST_MODELATTRIBUTE = "branchList";
	
	public static final String ADD_BRANCH_VIEW = "AddBranch";
	public static final String ADD_BRANCH_URL = URL_SEPERATOR + ADD_BRANCH_VIEW;
	
	public static final String EDIT_BRANCH_VIEW = "EditBranch";
	public static final String EDIT_BRANCH_URL = URL_SEPERATOR + EDIT_BRANCH_VIEW;
	
	public static final String LIST_BRANCH_VIEW = "ListBranch";
	public static final String LIST_BRANCH_URL = URL_SEPERATOR + LIST_BRANCH_VIEW;
	/* Branch Form Related Constants -- End */
	
	/* Department Form Related Constants -- Start */
	public static final String DEPARTMENTLIST_MODELATTRIBUTE = "departmentList";
	
	public static final String DEPARTMENTFORM_MODELATTRIBUTE = "departmentForm";
	
	public static final String ADD_DEPARTMENT_VIEW = "AddDepartment";
	public static final String ADD_DEPARTMENT_URL = URL_SEPERATOR + ADD_DEPARTMENT_VIEW;
	
	public static final String EDIT_DEPARTMENT_VIEW = "EditDepartment";
	public static final String EDIT_DEPARTMENT_URL = URL_SEPERATOR + EDIT_DEPARTMENT_VIEW;
	
	public static final String LIST_DEPARTMENT_VIEW = "ListDepartment";
	public static final String LIST_DEPARTMENT_URL = URL_SEPERATOR + LIST_DEPARTMENT_VIEW;
	/* Department Form Related Constants -- End */
	
	/* Container Form Related Constants -- Start */
	public static final String CONTAINERFORM_MODELATTRIBUTE = "containerForm";
	public static final String CONTAINERLIST_MODELATTRIBUTE = "containerList";
	
	public static final String ADD_CONTAINER_VIEW = "AddContainer";
	public static final String ADD_CONTAINER_URL = URL_SEPERATOR + ADD_CONTAINER_VIEW;
	
	public static final String EDIT_CONTAINER_VIEW = "EditContainer";
	public static final String EDIT_CONTAINER_URL = URL_SEPERATOR + EDIT_CONTAINER_VIEW;
	
	public static final String LIST_CONTAINER_VIEW = "ListContainer";
	public static final String LIST_CONTAINER_URL = URL_SEPERATOR + LIST_CONTAINER_VIEW;
	/* Container Form Related Constants -- END   */
	
	/* All Session Variables should go here */
	public static final String USERPROFILE_SESSION_OBJECT = "UserProfile";
	
	public static final String ERROR_MESSAGE = "ERROR_MESSAGE";
	
	public static final Integer ACTIVE_STATUS   = 1;
	public static final Integer INACTIVE_STATUS = 0;
	public static final SimpleDateFormat DEFAULT_DDMMYYYY_DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
	
	//This field contains FORMDESCRIPTION wise codetable list
	public static final Map<String, List<CodetableTO>> CODETABLELS = new HashMap<String, List<CodetableTO>>();
	
	//This filed contains CODETABLEID wise CODETABLEVALUE
	public static final Map<Integer, String> CODETABLELVALUES = new HashMap<Integer, String>();
	
}